Extensions to the C Programming Language for Enhanced Fault Detection
نویسندگان
چکیده
The acceptance of the C programming language by academia and industry is partially responsible for the ‘software crisis’. The simple, trusting semantics of C mask many common faults, such as range violations, which would be detected and reported at run-time by programs coded in a robust language such as Ada.* This needlessly complicates the debugging of C programs. Although the assert macro lets programmers add run-time consistency checks to their programs, the number of instantiations of this macro needed to make a C program robust makes it highly unlikely that any programmer could correctly perform the task. We make some unobtrusive extensions to the C language which support the efficient detection of faults at run-time without reducing the readability of the source code. Examples of the extensions are automatic checking of error codes returned by library routines, constrained subtypes and detection of references to uninitialized and/or non-existent array elements.
منابع مشابه
A Tool for Constructing Safe Extensible C++ Systems
The boundary between application and system is becoming increasingly permeable. Extensible applications, such as web browsers, database systems, and operating systems, demonstrate the value of allowing end-users to extend and modify the behavior of what was formerly considered to be a static, inviolate system. Unfortunately, flexibility often comes with a cost: systems unprotected from misbehav...
متن کاملDiagnosis and Troubleshooting of Computer Faults Based on Expert System and Artificial Intelligence
The expert intelligent system is introduced to develop hardware fault detection for any computer system. Different hardware system or electronics devices usually face application fault as well as hardware fault. This application oriented formal reasoning applies to determine the problem in computer system. This paper emphasizes an automated system that accepts the defects of any system and then...
متن کاملELMO: extending (sequential) languages with migratable objects-compiler support
EEcient task migration is an important feature in parallel and distributed programs, in particular to support checkpointing and recovery for fault tolerance. It is also very useful in distributed environments like networks of workstations where external loads are often unpredictable and dynamic in nature. We propose simple language extensions (ELMO) to existing sequential programming languages ...
متن کاملApplication of Thau Observer for Fault Detection of Micro Parallel Plate Capacitor Subjected to Nonlinear Electrostatic Force
This paper investigates the fault detection of a micro parallel plate capacitor subjected to nonlinear electrostatic force. For this end Thau observer, which has good ability in fault detection of nonlinear system has been presented and governing nonlinear dynamic equation of the capacitor has been presented. Upper and lower threshold for fault detection have been obtained. The robustness of th...
متن کاملDeveloping a software for simulation of gaseous detectors with Monte carlo method in c++ programming language
In this paper we consider a gaseous detector and supposed, because of pass of an ionizing radiation, an electron created inside it. By numerical simulation with monte carlo method and concluding the impacts, scatterings and creation of secondary electrons, we find the trajectory of initial and secondary electrons. Dependence of number of secondary electrons to applied electrical field is invest...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Softw., Pract. Exper.
دوره 23 شماره
صفحات -
تاریخ انتشار 1993